package com.jy.adscm.operation.mask.mapper.mysql;

import com.jy.adscm.operation.mask.bean.*;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 口罩生产工人工作记录表 Mapper 接口
 * </p>
 *
 * @author yyy
 * @since 2020-03-24
 */
public interface MaskWorkRecordMapper extends BaseMapper<MaskWorkRecord> {

    List<GxReportFormSupport> gxReportForm(@Param("beginTime") String beginTime,@Param("endTime") String endTime);

    /**
     * 查询某一年的，按照月划分，查看这一年每个月每个工序的合格品、返工品、报废品
     * @param year
     * @return
     */
    List<GxReportBarChartsSupport> gxReportBarChartsGroupByMonth(@Param("year")Integer year);

    /**
     * 查询某一年的，按照季度划分，查看这一年每个月每个工序的合格品、返工品、报废品
     * @param year
     * @return
     */
    List<GxReportBarChartsSupport> gxReportBarChartsGroupByQuarter(@Param("year")Integer year);

    /**
     * 查询某个月/季度的，按照周划分，查看这个月或这个季度每周每个工序的合格品、返工品、报废品
     * @param year 年
     * @param weeks 某个月或某个季度所在的周的集合
     * @param beginTime 某个月或某个季度起始周的起始时间
     * @param endTime 某个月或某个季度结束周的结束时间
     * @return
     */
    List<GxReportBarChartsWeekSupport> gxReportBarChartsGroupByWeek(@Param("year")Integer year,@Param("weeks")List<Integer> weeks,@Param("beginTime")String beginTime,@Param("endTime")String endTime);


    /**
     * 查询某个时间段内的每种工序每种输出类型的数量
     * @param beginTime
     * @param endTime
     * @return
     */
    List<GxReportBarChartsClassesSupport> getReportBarChartsBtw(@Param("beginTime")String beginTime,@Param("endTime")String endTime);


}
